SDK Unity
Ajoutez AR Clip VPS à un projet Unity. Le SDK trouve la position de l'utilisateur sur vos cartes VPS et place le contenu au bon endroit, sur les appareils ARKit (iOS) et ARCore (Android).
Avant de commencer
- Unity 2022.3 LTS ou plus récent
- Un appareil de test compatible ARKit ou ARCore
- Git LFS, si vous clonez le projet d'exemple (il contient des fichiers volumineux)
Installation
Deux méthodes au choix.
Cloner le projet d'exemple
git clone https://github.com/WebAR-Studio/was-vps-unity.git
Ouvrez le projet dans Unity 2022.3 ou plus récent. Les scènes de Assets/Scenes montrent des
configurations fonctionnelles.
Ajouter le package avec le Package Manager
- Ouvrez Window → Package Manager.
- Cliquez sur + → Add package from Git URL….
- Collez
https://github.com/WebAR-Studio/was-vps-unity.git?path=/Assets.
Unity télécharge le SDK dans Packages/was-vps-unity.
Préparer la scène
- Créez ou ouvrez une scène prête pour AR Foundation. Elle doit contenir une AR Session et un AR Session Origin.
- Ajoutez
VPSLocalisationServiceà un GameObject vide. C'est ce composant qui gère la localisation. - Dans l'Inspector, assignez :
AR SessionAR Session Origin- la caméra AR et les éléments d'interface, si vous en avez besoin (voir les scènes d'exemple)
- Saisissez votre API Key VPS et au moins un Location ID.
- Facultatif : pendant le débogage, activez Save Images Locally ou Save Logs In File.
Besoin d'une clé d'API ?
Obtenez-en une sur arclip.design ou écrivez à support@arclip.design.
Lancer la localisation
Pilotez la localisation depuis votre propre script. Ajoutez le composant ci-dessous et assignez la
référence à VPSLocalisationService dans l'Inspector.
using UnityEngine;
using WASVPS;
public class VPSBootstrap : MonoBehaviour
{
[SerializeField] private VPSLocalisationService vpsService;
private void Start()
{
vpsService.OnPositionUpdated += HandlePositionUpdated;
vpsService.OnErrorHappend += HandleError;
var settings = new SettingsWASVPS(
new[] { "your-location-id" },
failsCountToReset: 5
);
settings.ApiKey = "your-api-key";
settings.LocalizationTimeout = 2.0f;
vpsService.StartVPS(settings);
}
private void HandlePositionUpdated(LocationState state)
{
Debug.Log($"Localized at {state.Localisation.VpsPosition}");
}
private void HandleError(ErrorInfo error)
{
Debug.LogError(error.LogDescription());
}
}
Réglages de l'Inspector
| Propriété | Ce qu'elle fait | Par défaut |
|---|---|---|
| Start On Awake | Lance la localisation au chargement de la scène | false |
| Force Mock In Editor | Utilise toujours le fournisseur simulé quand vous lancez dans l'éditeur | true |
| Send GPS | Ajoute les données GPS de l'appareil à chaque requête VPS | false |
| Fails Count To Reset | Le nombre d'échecs d'affilée qui réinitialise la session | 5 |
| Save Images Locally | Enregistre les images capturées pour le débogage | false |
Tester et déboguer
- Activez
Force Mock In Editoret utilisez les textures simulées fournies pour tester sans appareil. - Appelez
VPSLogger.SetLogLevel(LogLevel.VERBOSE)pour voir les requêtes HTTP, les réponses et les erreurs dans la console. - Si la localisation ne réussit jamais, vérifiez que votre clé d'API est valide et que chaque identifiant de lieu correspond à une carte VPS que vous possédez.
Exemples
- Consultez
Assets/Scenes/TestScene.unityetAssets/Scripts/ExampleVPS.csdans le projet d'exemple pour des exemples fonctionnels. - Utilisez les poses VPS dans votre propre logique : créer des ancres, aligner du contenu 3D ou mettre à jour l'interface.
Suite : Plateformes Unity — faites un build pour les téléphones, les casques et les lunettes.